package com.shop.cereshop.commons.domain.kuaidi.kd100.order.req;

import lombok.*;

/**
 * C端寄件 请求参数
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class PlaceAnOrderByCReq {
    /**
     * 快递公司的编码，一律用小写字母，见《快递公司编码》
     */
    private String kuaidicom; // 必填

    /**
     * 收件人姓名
     */
    private String recManName; // 必填

    /**
     * 收件人的手机号，手机号和电话号二者其一必填
     */
    private String recManMobile; // 必填

    /**
     * 收件人所在完整地址，如广东深圳市深圳市南山区科技南十二路2号金蝶软件园
     */
    private String recManPrintAddr; // 必填

    /**
     * 寄件人姓名
     */
    private String sendManName; // 必填

    /**
     * 寄件人的手机号，手机号和电话号二者其一必填
     */
    private String sendManMobile; // 必填

    /**
     * 寄件人所在的完整地址，如广东深圳市深圳市南山区科技南十二路2号金蝶软件园B10
     */
    private String sendManPrintAddr; // 必填

    /**
     * callBackUrl订单信息回调
     */
    private String callBackUrl; // 必填

    /**
     * 物品名称,例：文件
     */
    private String cargo; // 必填

    /**
     * 支付方式，SHIPPER: 寄方付（默认），CONSIGNEE: 到付（中通不支持）
     */
    private String payment; // 非必填

    /**
     * 物品总重量KG，不需带单位，例：1.5
     */
    private String weight; // 非必填

    /**
     * 备注
     */
    private String remark; // 非必填

    /**
     * 预约日期，例如：今天/明天/后天
     */
    private String dayType; // 非必填

    /**
     * 预约起始时间，24小时制（HH:mm），例如：09:00
     */
    private String pickupStartTime; // 非必填

    /**
     * 预约截止时间，24小时制（HH:mm），例如：10:00
     */
    private String pickupEndTime; // 非必填

    /**
     * 签名用随机字符串，salt为空时，传null用于加密
     */
    private String salt; // 非必填

    /**
     * 是否开启订阅功能 0：不开启(默认) 1：开启 说明开启订阅功能时：pollCallBackUrl必须填入 此功能只针对有快递单号的单
     */
    private String op; // 非必填

    /**
     * 如果op设置为1时，pollCallBackUrl必须填入，用于跟踪回调。此为免费服务，回调内容通过五、快递信息推送接口 返回（免费服务）
     */
    private String pollCallBackUrl; // 非必填

    /**
     * 添加此字段表示开通行政区域解析功能 。
     * 0：关闭（默认）
     * 1：开通行政区域解析功能以及物流轨迹增加物流状态名称
     * 4：开通行政解析功能以及物流轨迹增加物流高级状态名称、状态值并且返回出发、目的及当前城市信息(详见：快递信息推送接口文档)
     */
    private String resultv2; // 非必填

    /**
     * 平台订单号，最大32位。若此参数与之前的重复，48小时内返回第一次下单内容，否则会重新下单。
     */
    private String thirdOrderId; // 非必填

    /**
     * 业务类型，顺丰速运需要传业务类型为"顺丰标快"，其他快递公司可不传
     */
    private String serviceType;


}
